<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@include file="/pages/common.jsp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>采购退货</title>
<script type="text/javascript">
$(function () {
	

    //1.初始化Table
    var oTable = new TableInit();
    oTable.Init();

    //2.初始化Button的点击事件
    var oButtonInit = new ButtonInit();
    oButtonInit.Init();
  //初始化提示框的位置：top-center，bottom-left，bottom-right
    toastr.options.positionClass = 'toast-top-center';
    //单击
    $('#tb_departments').on('click-row.bs.table',function (e, row, element) {
        	$("#id").val(row.pcid);
        	$('#tb_departmentsDetailed').bootstrapTable('refresh');
    });
    
    $('#btn_add').click(function () {
    	window.location.href='${pageContext.request.contextPath }/pages/tdd/erp/procurementChukuAdd.jsp';
    });
    
});

var TableInit = function () {
    var oTableInit = new Object();
    //初始化Table
    oTableInit.Init = function () {
        $('#tb_departments').bootstrapTable({
            url: '${pageContext.request.contextPath }/procurementChuku/list.do',         //请求后台的URL（*）
            //showExport: true, //是否显示导出
            exportDataType: "basic", //basic', 'all', 'selected'.
            method: 'get',                      //请求方式（*）
            toolbar: '#toolbar',                //工具按钮用哪个容器
            striped: true,                      //是否显示行间隔色
            cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
            pagination: true,                   //是否显示分页（*）
            sortable: false,                     //是否启用排序
            sortOrder: "asc",                   //排序方式
            queryParams: oTableInit.queryParams,//传递参数（*）
            sidePagination: "server",           //分页方式：client客户端分页，server服务端分页（*）
            pageNumber:1,                       //初始化加载第一页，默认第一页
            pageSize: 10,                       //每页的记录行数（*）
            pageList: [10, 20, 30],        //可供选择的每页的行数（*）
            //search: true,                       //是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
            strictSearch: true,
            //showColumns: true,                  //是否显示所有的列
            //showRefresh: true,                  //是否显示刷新按钮
            minimumCountColumns: 2,             //最少允许的列数
            clickToSelect: true,                //是否启用点击选中行
            height: 500,                        //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
            uniqueId: "pcid",                     //每一行的唯一标识，一般为主键列
            //showToggle:true,                    //是否显示详细视图和列表视图的切换按钮
            //cardView: false,                    //是否显示详细视图
            detailView: false,                   //是否显示父子表
            columns: [{
                checkbox: true
            }, {
                field: 'pcid',
                title: 'id',
                visible: false
            }, {
                field: 'pcnum',
                title: '退货编号'
            }, {
                field: 'pcdate',
                title: '退货日期'
            }, {
                field: 'supplier.suppliername',
                title: '供应商'
            },{
            	field: 'pcstate',
                title: '状态',
               	formatter:function(value,row,index){
   	                if(value==0){return "未退货";} 
   	                if(value==1){return "已退货";} 
   	       			else{return "";}                       
     	     	},
            },{
            	field: 'pcapprovalstate',
                title: '审批状态',
               /*  formatter:function(value,row,index){
	                if(value==0){return "未审批";} 
	                if(value==1){return "已审批";} 
	       			else{return "";}                       
  	     		}, */
  	     		formatter:function(value,row,index){

            	    var result = "";

	                if(value==0){
                        result =  "未审批";
	                }
	                if(value==1){
                        result =  "审核中";
	                }
	       			if(value == 2) {
                        result =  "审核通过";
	                }
	                if (value == 3) {
	                    result = "审核未通过";
                    }

                    return result;
  	     		},
            }]
        });
        $('#tb_departmentsDetailed').bootstrapTable({
            url: '${pageContext.request.contextPath }/procurementChukuMateriel/list.do',         //请求后台的URL（*）
            showExport: false, //是否显示导出
            exportDataType: "basic", //basic', 'all', 'selected'.
            method: 'get',                      //请求方式（*）
            toolbar: '',                //工具按钮用哪个容器
            striped: true,                      //是否显示行间隔色
            cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
            pagination: true,                   //是否显示分页（*）
            sortable: false,                     //是否启用排序
            sortOrder: "asc",                   //排序方式
            queryParams: oTableInit.queryParamsDetailed,//传递参数（*）
            sidePagination: "server",           //分页方式：client客户端分页，server服务端分页（*）
            pageNumber:1,                       //初始化加载第一页，默认第一页
            pageSize: 10,                       //每页的记录行数（*）
            pageList: [10, 20, 30],     //可供选择的每页的行数（*）
            search: false,                       //是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
            strictSearch: true,
            showColumns: false,                  //是否显示所有的列
            showRefresh: false,                  //是否显示刷新按钮
            minimumCountColumns: 2,             //最少允许的列数
            clickToSelect: true,                //是否启用点击选中行
            height: 300,                        //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
            uniqueId: "pcmid",                     //每一行的唯一标识，一般为主键列
            showToggle:false,                    //是否显示详细视图和列表视图的切换按钮
            cardView: false,                    //是否显示详细视图
            detailView: false,                   //是否显示父子表
            columns: [{
                checkbox: true,
                visible: false
            }, {
            	field: 'pcmid',
                title: 'id',
                visible: false
            /* }, {
                field: 'procurementChuku.pcnum',
                title: '退货编号'
            }, {
                field: 'procurementChuku.pcdate',
                title: '退货日期'
            }, {
                field: 'procurementChuku.supplier.suppliername',
                title: '供应商' */
            }, {
                field: 'materiel.name',
                title: '物料名称'
            }, {
            	field: 'materiel.materialmodel',
                title: '型号'
            },{
            	field: 'number',
                title: '退货数量'
            },{
            	field: 'tuireason',
                title: '退货原因'
            },{
            	field: 'materiel.remark3',
                title: '退货金额',
                formatter:function(value,row,index){
	                  if(value=='' || value == null){return null;} 
	       			  else{return row.materiel.remark3 * row.number;}                       
	     		},
            /*  },{
            	field: 'pcapprovalstate',
                title: '审批状态', */ 
                
            }]
        });
        
    };

    //得到查询的参数
    oTableInit.queryParams = function (params) {
        var temp = {   //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            limit: params.limit,   //页面大小
            offset: params.offset,  //页码
            starprdate:$.trim($('#starprdate').val()), 
            endprdate:$.trim($('#endprdate').val()), 
            suppliername:$.trim($('#suppliername').val()),   
        };
        return temp;
    };
  //得到查询的参数
    oTableInit.queryParamsDetailed = function (params) {
        var temp = {   //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            limit: params.limit,   //页面大小
            offset: params.offset,  //页码
            pcid:$.trim($('#id').val()), 
        };
        return temp;
    };
    return oTableInit;
};
var ButtonInit = function () {
    var oInit = new Object();
    var postdata = {};

    oInit.Init = function () {
        //初始化页面上面的按钮事件
    };

    return oInit;
};

function seach() {
	$('#tb_departments').bootstrapTable('refresh'); 
}
function clearSearch() {
	//清空表单
	document.getElementById("formSearch").reset(); 
}
</script>
<script type="text/javascript">
 $(function () {
	$(".form_datetime").datetimepicker({
	 language: 'zh-CN',//中文，需要引用zh-CN.js包
	 format: "yyyy-mm-dd",
	 todayBtn: true,
	 clearBtn:true,// 自定义属性,true 显示 清空按钮 false 隐藏 默认:true
	 autoclose: true,
	 todayHighlight: true,
	 showMeridian: true,
	 pickerPosition: "bottom-left",
	 startView: 2,//月视图
	 minView: 2//日期时间选择器所能够提供的最精确的时间选择视图
	 });
 });
</script>
</head>
<body>
	<div class="panel-body" style="padding-bottom:0px;">
        <div class="panel panel-default">
            <div class="panel-heading">查询条件</div>
            <div class="panel-body">
                <form id="formSearch" class="form-horizontal">
                	<div class="form-group" >
                        <label class="control-label col-sm-1" for="txt_search_departmentname">日期:</label>
                        <div class="col-sm-1">
                            <select id="txt_search_departmentname" onchange="selectTime()" class="selectpicker show-tick form-control"  data-live-search="false">
	                         	<option value="0">全部数据</option>
	                         	<option value="1">最近一天</option>
	                         	<option value="7">最近一星期</option>
	                         	<option value="30">最近一个月</option>
                         	</select>
                         	<script type="text/javascript">
                         		function selectTime() {
                         			var dom=$('#txt_search_departmentname').selectpicker('val');
                         			var curDate = new Date(); 
                         			$("#endprdate").val(FormatDate(curDate));
                         			var endtime = null;
                         			if (dom > 7) {
                         				endtime = curDate.setMonth(curDate.getMonth()-1);
									}else{
										if (dom == 0) {
											$("#endprdate").val(null);
										} else {
											endtime = new Date(curDate.getTime() - dom*24*60*60*1000); //前一天
										}
									}
                         			if (endtime == null) {
	                         			$("#starprdate").val(endtime);
									} else {
                         				$("#starprdate").val(FormatDate(endtime));
									}
								}
                         		function add0(m){return m<10?'0'+m:m }
                         		function FormatDate (strTime) {
                         		    var date = new Date(strTime);
                         		    return date.getFullYear()+"-"+add0((date.getMonth()+1))+"-"+add0(date.getDate());
                         		}
                         		$(document).ready(function(){
                       			  $(".timeduan").change(function(){
                       				var end = $.trim($('#endprdate').val()) ;
                       				var star =$.trim($('#starprdate').val()); 
                       				if (end != null && end != "" && star != null && star != "") {
	                       				if (end < star) {
	                       					toastr.warning('开始时间小于结束时间,按此条件将查不到数据!');
										}
									}
                       			  });
                       			});
                         	</script>
                        </div>
                        <label class="control-label col-sm-1" for="txt_search_statu" style="width: 30px;">从</label> 
                        <div class="col-sm-2" style="width: 236px;/* padding-left: 0px;padding-right: 0px; */">
                        	<input class="form_datetime form-control timeduan" type="text" id="starprdate" name="starprdate" readonly >
                        </div>
                        <label class="control-label col-sm-1" for="txt_search_statu" style="width: 30px;padding-left: 0px;">至</label> 
                        <div class="col-sm-2" style="width: 236px;/* padding-left: 0px;padding-right: 0px; */">
                        	<input class="form_datetime form-control timeduan"  type="text" id="endprdate" name="endprdate" readonly >
                        </div>
						<label class="control-label col-sm-1 " for="txt_search_departmentname">供应商:</label>
                        <div class="col-sm-1">
	                         <select id="suppliername" name="suppliername" class="show-tick form-control selectpicker"  data-live-search="false">
		                         <option value="">所有客户</option>
	                         </select>
                         	 <script type="text/javascript">
				                $(function(){
				                    $.ajax({
						                type: "post",
						                url: "${pageContext.request.contextPath }/supplier/all.do",
						                dataType: 'JSON',
						                success: function (data) {
						                      //设置下拉列表中的值的属性
						                      for ( var i = 0; i < data.length; i++) {
							                        //增加下拉列表。
							                        $("#suppliername").append("<option>"+data[i].suppliername+"</option>");
											 }
						                     //必须执行，否则数据添加失败
						                     $('#suppliername').selectpicker('refresh'); 
						                     //$('#suppliername').selectpicker('render'); 
						                }
						            });
				                });
				            	//思路如上。你可以将点击时将文本框中值传到后台，后台返回数据后，在将数据存入下拉列表对象中。
				        	</script>
                        </div>
                         <div>
		                	<button type="button" style="margin-left:50px" id="btn_query" class="btn btn-primary" onclick="seach()">查询</button>
		                	<button type="button" style="margin-left:50px" id="btn_query" class="btn btn-primary" onclick="clearSearch()">清除</button>
		                 </div>
                	</div>	
                </form>
            </div>
        </div>    

        <div id="toolbar" class="btn-group">
            <button id="btn_add" type="button" class="btn btn-default">
                <span class="glyphicon glyphicon-plus" aria-hidden="true"></span>新增
            </button>
            <button id="btn_edit" type="button" class="btn btn-default" onclick="doView()">
                <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>修改
            </button>
            <script type="text/javascript">
	            function doView() {
	            	var row=$.map($("#tb_departments").bootstrapTable('getSelections'),function(row){
	            		return row ;
	            	});
	            	if (row.length != 1) {
	            		toastr.warning('请选择一条数据!');
	            	}else{
	            		if(row[0].pcapprovalstate == "1" || row[0].pcapprovalstate == "2"){
	            			toastr.warning('该退货单已提交审批，不能修改!');
	            		}else{
			            	location.href = "${pageContext.request.contextPath }/procurementChuku/toupdata.do?pcid="+row[0].pcid;
	            		}
	            	}
	            }
            </script>
            <button id="btn_delete" type="button" class="btn btn-default" onclick="doDelete()">
                <span class="glyphicon glyphicon-remove" aria-hidden="true"></span>删除
            </button>
            <script type="text/javascript">
	            function doDelete() {
	            	//判断是否删除显示的详情所对应的退货单
	            	var dd = 0;
	            	var row=$.map($("#tb_departments").bootstrapTable('getSelections'),function(row){
	            		return row ;
	            	});
	            	if (row.length == 0) {
	            		toastr.warning('请至少选择一条数据!');
	            	}else{
	            		var ids="";
	            		var names="";
	            		for(var i=0;i<row.length;i++){
	            			if (row[i].pcstate == "1" || row[i].pcapprovalstate == "1" || row[i].pcapprovalstate == "2") {
	            				names = ","+row[i].pcnum;
	            			}else{
	            				ids+=","+row[i].pcid;
	            			}
	            			if(row[i].pcid == $.trim($('#id').val())){
	            				dd++;
	            			}
	            		}
	            		ids = ids.substr(1,ids.length-1);
	            		names = names.substr(1,names.length-1);
	            		if (ids == "") {
	            			toastr.warning('该退货单已提交审批，不能删除!');
	            		} else {
	            			var str = "确认要删除选择的数据吗？";
	            			if (names != "") {
	            				str = "选择的数据中"+names+"退货单全部已经退货，不能删除!确认要其他数据吗？";
	            			} 
		            		//询问框
		            		Ewin.confirm({ message: str }).on(function (e) {
		            	       if (!e) {
		            	         return;
		            	       } 
		            	    	var url = "${pageContext.request.contextPath }/procurementChuku/delete.do";
		            		    $.post(url, "ids="+ids, function(data) {
		            				if (data == 1) {
		            					toastr.success('删除成功');
		            					setTimeout(function(){  //使用  setTimeout（）方法设定定时2000毫秒
		            						$('#tb_departments').bootstrapTable('refresh');
		            						if(dd>0){
			            						$("#id").val(0);
			        	                    	$('#tb_departmentsDetailed').bootstrapTable('refresh');
		            						}
		            					},2000);
		            				} else if (data == 2) {
		            					toastr.warning('该信息已删除!');
		            					setTimeout(function(){  //使用  setTimeout（）方法设定定时2000毫秒
		            						$('#tb_departments').bootstrapTable('refresh'); 
		            					},2000); 
		            				} else {
		            					toastr.error('删除失败');
		            					setTimeout(function(){  //使用  setTimeout（）方法设定定时2000毫秒
		            						$('#tb_departments').bootstrapTable('refresh'); 
		            					},2000);
		            				}
		            			}); 
		            	    }); 
	            		}
	            	}
	            }
	            
	            
	            $(function () {
	            	
	            	/**
		             * 启动流程
		             */
		            $('#btn_depty').click(function () {
		            	

		                var row = $("#tb_departments").bootstrapTable('getSelections');

		                if (row.length !=  1) {
		                    toastr.warning('请选择一条有效数据');
		                    return;
		                }
		                
		                if(row[0].pcapprovalstate == 1 || row[0].pcapprovalstate == 2) {
		                	toastr.warning('已提交审核');
		                    return;
		                }

		                Ewin.confirm({message: "确认提交审核吗？"}).on(function (e) {

		                    if (e) {
		                        $.ajax({
		                            type:'post',
		                            data:"rid="+row[0].pcid,
		                            url:'${pageContext.request.contextPath}/submit/startApply.do',
		                            success:function (data) {
		                                var result=eval("("+data+")");
		                                if (result.success) {
		                                    $('#tb_departments').bootstrapTable('refresh');
		                                    toastr.success("操作成功");
		                                } else {
		                                    toastr.error('操作失败!');
		                                }
		                            }
		                        });
		                        return;
		                    }


		                })
		            });
	            	
	            	
	            });
	            
            </script>
            <button id="btn_depty" type="button" class="btn btn-default">
                <span class="glyphicon glyphicon-phone" aria-hidden="true"></span>审批
            </button>
            <!-- <button id="btn_add2" type="button" class="btn btn-default">
                <span class="glyphicon glyphicon-phone" aria-hidden="true"></span>批量审批
            </button> -->
            <button id="btn_edit" type="button" class="btn btn-default">
                <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>撤销审批
            </button>
            <!-- <button id="btn_delete" type="button" class="btn btn-default" onclick="doexcel()">
                <span class="glyphicon glyphicon-tasks" aria-hidden="true"></span>导出
                <script type="text/javascript">
                	function doexcel() {
                		Ewin.confirm({message : "确认导出数据吗？？"}).on(
               					function(e) {
              						if (!e) {return;}
           						window.location.href="${pageContext.request.contextPath}/procurementChuku/doExport.do"; 
           					})
					}
                </script>
            </button> -->
            <button id="btn_delete" type="button" class="btn btn-default" onclick="tuihuo()">
                <span class="glyphicon glyphicon-send" aria-hidden="true"></span>退货处理
                <script type="text/javascript">
	                function tuihuo() {
	                	var row=$.map($("#tb_departments").bootstrapTable('getSelections'),function(row){
		            		return row ;
		            	});
		            	if (row.length != 1) {
		            		toastr.warning('请选择一条数据!');
		            	}else{
		            		//审批未通过 || 已经退货
		            		if (row[0].pcapprovalstate == "0" || row[0].pcstate == "1") {
		            			if (row[0].pcapprovalstate == "0") {
			            			toastr.warning('该退货单审批未通过，不能退货!');
								}else{
		            				toastr.warning('该退货单已经退货，不能再次退货!');
								}
		            		} else {
			            		//询问框
			            		Ewin.confirm({ message: "确认要退货该退货单吗？" }).on(function (e) {
			            	       if (!e) {
			            	         return;
			            	       } 
			            	    	var url = "${pageContext.request.contextPath }/procurementChuku/save1.do";
			            		    $.post(url, "pcid="+row[0].pcid+"&pcstate="+1, function(data) {
			            		    	
			            		    	if (data == 1) {
			            					toastr.success('退货成功');
			            					setTimeout(function(){  //使用  setTimeout（）方法设定定时2000毫秒
			            						$('#tb_departments').bootstrapTable('refresh'); 
			            					},2000);
			            				} else if (data == 2) {
			            					toastr.warning('该信息已删除!');
			            					setTimeout(function(){  //使用  setTimeout（）方法设定定时2000毫秒
			            						$('#tb_departments').bootstrapTable('refresh'); 
			            					},2000); 
			            				} else {
			            					toastr.error('退货失败');
			            					setTimeout(function(){  //使用  setTimeout（）方法设定定时2000毫秒
			            						$('#tb_departments').bootstrapTable('refresh'); 
			            					},2000);
			            				}
			            			}); 
			            	    });  
		            		}
		            	}
					}
                </script>
            </button>
        </div>
        <table id="tb_departments"></table>
        <input type="hidden" id="id" value="0">
        <table id="tb_departmentsDetailed"></table>
    </div>
</body>
</html>